home *** CD-ROM | disk | FTP | other *** search
- .TH CBSPLINE
- 6 "IRIT Version 6.0"
- .SH NAME
- CBSPLINE
-
-
-
- CurveType CBSPLINE( NumericType Order, ListType CtlPtList,
- ListType KnotVector )
-
- Creates a Bspline curve out of the provided control point list, the
- knot vector, and the specified order. CtlPtList is a list of control
- points, all of which must be of type (E1-E5, P1-P5), or regular PointType
- defining the curve's control polygon. Curve's point type will be of a space
- which is the union of the spaces of all points.
- The length of the KnotVector must be equal to the number of control
- points in CtlPtList plus the Order. If, however, the length of
- the knot vector is equal to #CtlPtList + Order + Order - 1 the curve
- is assumed periodic.
- The knot vector list may be specified as either list( KV_OPEN ) or
- list( KV_FLOAT ) or list( KV_PERIODIC ) in which a uniform
- open, uniform floating or uniform periodic knot vector with the appropriate
- length is automatically constructed.
-
- Example:
-
- s45 = sin(pi / 4);
- HalfCirc = CBSPLINE( 3,
- list( ctlpt( P3, 1.0, 1.0, 0.0, 0.0 ),
- ctlpt( P3, s45, s45, s45, 0.0 ),
- ctlpt( P3, 1.0, 0.0, 1.0, 0.0 ),
- ctlpt( P3, s45, -s45, s45, 0.0 ),
- ctlpt( P3, 1.0, -1.0, 0.0, 0.0 ) ),
- list( 0, 0, 0, 1, 1, 2, 2, 2 ) );
-
- constructs an arc of 180 degrees in the XZ plane as a rational quadratic
- Bspline curve.
-
- Example:
-
- c = CBSPLINE( 4,
- list( ctlpt( E2, 0.5, 0.5 ),
- ctlpt( E2, -0.5, 0.5 ),
- ctlpt( E2, -0.5, -0.5 ),
- ctlpt( E2, 0.5, -0.5 ) ),
- list( KV_PERIODIC ) );
- color( c, red );
- viewobj( c );
-
- c1 = cregion( c, 3, 4 );
- color( c1, green );
- c2 = cregion( c, 4, 5 );
- color( c2, yellow );
- c3 = cregion( c, 5, 6 );
- color( c3, cyan );
- c4 = cregion( c, 6, 7 );
- color( c3, magenta );
- viewobj( list( c1, c2, c3, c4 ) );
-
- creates a periodic curve and extracts its four polynomial domains as four
- open end Bspline curves.
-